#include "stdafx.h" #include #include #include using namespace std; // Function prototype double getGrossWeeklySales(string dayWeek[], int size, double amountDailySales[]); int findHighestSale(double amountDailySales[], int size); int findLowestSale(double amountDailySales[], int size); void sortAscending(double amountDailySales[], int size, string dayWeek[]); int main() { const double SALES_TAX = 1.0975; const int SIZE = 7; string dayWeek[SIZE] = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" }; double amountDailySales[SIZE]; int arrayHolder[SIZE]; double totalTaxWithheld, totalWeeklySales, netProfitWeekly; int highestSaleDay, lowestSaleDay, count; cout << fixed << setprecision(2) << "\t\tThis program calculates total weekly sales.\n\n\n\n"; // Get sum weekly sales totalWeeklySales = getGrossWeeklySales(dayWeek, SIZE, amountDailySales); // Calculate taxes withheld totalTaxWithheld = totalWeeklySales - (totalWeeklySales / SALES_TAX); // Calculate net profit netProfitWeekly = totalWeeklySales - totalTaxWithheld; // Get subscript's highest sale day highestSaleDay = findHighestSale(amountDailySales, SIZE); // Get subscript's lowest sale day lowestSaleDay = findLowestSale(amountDailySales, SIZE); // Display data cout << "\n\n\n\n\n" << "Total sales for the week: $" << totalWeeklySales << "\n\n" << "Total taxes withheld: $" << totalTaxWithheld << "\n\n" << "Net profit: $" << netProfitWeekly << "\n\n" << "Day with the highest sales amount was " << dayWeek[highestSaleDay] << " with a sales total of $" << amountDailySales[highestSaleDay] << "\n\n" << "Day with the lowest sales amount was " << dayWeek[lowestSaleDay] << " with a sales total of $" << amountDailySales[lowestSaleDay] << "\n\n"; cout << "\n\n\n\n\n" << "Sales sorted from lowest to highest:\n\n"; // Start sorting array amountdailySales and dayWeek sortAscending(amountDailySales, SIZE, dayWeek); // Display sorted days in week and daily sales amount for (count = 0; count < SIZE; count++) { cout << dayWeek[count] << " had gross sales of $" << amountDailySales[count] << "\n\n"; } cout << "\n\n\n"; system("PAUSE"); return 0; } // function: Get sum weekly double getGrossWeeklySales(string dayWeek[], int size, double amountDailySales[]) { double GrossWeeklySales = 0.0; int count; for (count = 0; count < size; count++) { cout << setprecision(2) << fixed << "Please enter the gross sales received on " << dayWeek[count] << ": $"; cin >> amountDailySales[count]; cout << endl; GrossWeeklySales += amountDailySales[count]; } return GrossWeeklySales; } // function: Get highest sale day int findHighestSale(double amountDailySales[], int size) { double highestSale = amountDailySales[0]; int highest = 0, count; for (count = 1; count < size; count++) { if (amountDailySales[count] > highestSale) { highestSale = amountDailySales[count]; highest = count; } } return highest; } // function: Get lowest sale day int findLowestSale(double amountDailySales[], int size) { double lowestSale = amountDailySales[0]; int lowest = 0, count; for (count = 1; count < size; count++) { if (amountDailySales[count] < lowestSale) { lowestSale = amountDailySales[count]; lowest = count; } } return lowest; } // function: Sort sales day in ascending (selection sort) void sortAscending(double amountDailySales[], int size, string dayWeek[]) { int startScan, minIndex, count; double minValue; string hold; for (startScan = 0; startScan < (size - 1); startScan++) { minIndex = startScan; minValue = amountDailySales[startScan]; hold = dayWeek[startScan]; // Find smallest value for (count = startScan + 1; count < size; count++) { if (amountDailySales[count] < minValue) { minValue = amountDailySales[count]; minIndex = count; hold = dayWeek[count]; } } // Swap smallest value in daily sales amountDailySales[minIndex] = amountDailySales[startScan]; amountDailySales[startScan] = minValue; // Swap days in week based on daily sales dayWeek[minIndex] = dayWeek[startScan]; dayWeek[startScan] = hold; } }